﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Win32Wrapper.Win32
{
    public struct _GuiThreadInfo
    {
        public uint cbSize;
        public uint flags;
        public IntPtr hwndActive;
        public IntPtr hwndFocus;
        public IntPtr hwndCapture;
        public IntPtr hwndMenuOwner;
        public IntPtr hwndMoveSize;
        public IntPtr hwndCaret;
        public _Rect rcCaret;
    }

    public class GuiThreadInfo
    {
        public GuiThreadInfo() { }

        public GuiThreadInfo(_GuiThreadInfo info) 
        {
            cbSize = info.cbSize;
            flags = info.flags;
            hwndActive = info.hwndActive;
            hwndFocus = info.hwndFocus;
            hwndCapture = info.hwndCapture;
            hwndMenuOwner = info.hwndMenuOwner;
            hwndMoveSize = info.hwndMoveSize;
            hwndCaret = info.hwndCaret;
            rcCaret = new Rect(info.rcCaret);
        }

        public uint cbSize { get; set; }
        public uint flags { get; set; }
        public IntPtr hwndActive { get; set; }
        public IntPtr hwndFocus { get; set; }
        public IntPtr hwndCapture { get; set; }
        public IntPtr hwndMenuOwner { get; set; }
        public IntPtr hwndMoveSize { get; set; }
        public IntPtr hwndCaret { get; set; }
        public Rect rcCaret { get; set; }
    }
}
